/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucsur.puntodeventas.dataaccess;

import edu.ucsur.puntodeventas.businessentity.*;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
 *
 * @author JORGE
 */
public class ADVentaDetalle {

    /* INICIO: Singleton */
    private static ADVentaDetalle _instance = null;

    public static ADVentaDetalle Instance()
    {
        if (_instance == null)
            _instance = new ADVentaDetalle();
        return _instance;    
    }
    /* FIN: Singleton */
    
    
    
    private Connection conn;
    public int insertar(ENVentaDetalle oENVentaDetalle) throws Exception 
    {
        try 
        {
            conn = ADDBConnection.getConnection();
            //-- Armando la sentencia SQL
            String sql = "insert into VentaDetalle (idVenta, dCantidad, idProducto, dPrecio, dImporte) " +
                        " values ( ?, ?, ?, ?, ? )";
            //-- Preparando la sentencia en Java
            PreparedStatement pstmt = conn.prepareStatement(sql);
            //-- ¿Y como seteamos los parametros?
            //-- Simple, con setters
            pstmt.setInt(1, oENVentaDetalle.getidVenta());
            pstmt.setDouble(2, oENVentaDetalle.getdCantidad());
            pstmt.setInt(3, oENVentaDetalle.getENProducto().getidProducto());
            pstmt.setDouble(4, oENVentaDetalle.getdPrecio());
            pstmt.setDouble(5, oENVentaDetalle.getdImporte());
            
            //-- Una vez que el SQL está listo para ejecutarse
            //-- se lanza. El resultado se recibe en una variable
            //-- de tipo ResultSet (cursor)
            pstmt.execute();
            return 1;
            } 
        catch (Exception ex) 
        {
            ex.printStackTrace();
            throw ex;
        } 
        finally 
        {
            conn.close();
        }
    }
    
}
